package main

import (
	"os"
	"runtime/trace"
)

func allocate() {
	_ = make([]byte, 1<<20)
}

func main() {

	// 下面四行代码用于go tool trace
	f, _ := os.Create("trace.out")
	defer f.Close()
	trace.Start(f)
	defer trace.Stop()

	for i := 0; i < 100; i++ {
		allocate()
	}
}

// 编译完成后，执行如下命令：
// GODEBUG=gctrace=1 ./main

// 如果使用了go trace tool，则可以使用如下命令进行可视化
// go tool trace trace.out
